package com.it.server.controller.user;

import com.it.common.result.Result;
import com.it.pojo.DTO.CartItemDTO;
import com.it.pojo.VO.CartItemVO;
import com.it.server.service.CartItemService;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Delete;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/user/cartItem")
@Tag(name = "购物车接口")
@Slf4j
public class CartItemController {
    @Autowired
    private CartItemService cartItemService;
    @PostMapping("/list")
    @Operation(summary="查询购物车列表")
    public Result<List<CartItemVO>> list(@RequestBody CartItemDTO cartItemDTO) {
        log.info("查询购物车列表");
        List<CartItemVO> list = cartItemService.list(cartItemDTO);

        return Result.success();
    }
    @PostMapping("/add")
    @Operation(summary="添加到购物车")
    public Result add(@RequestBody CartItemDTO cartItemDTO) {
        log.info("添加购物车");
        cartItemService.add(cartItemDTO);
        return Result.success();
    }
    @PostMapping("/delete")
    @Operation(summary="删除购物车")
    public Result delete(@RequestBody CartItemDTO cartItemDTO) {
        log.info("删除购物车");
        cartItemService.delete(cartItemDTO);
        return Result.success();
    }
    @PostMapping("/update")
    @Operation(summary="更新购物车")
    public Result update(@RequestBody CartItemDTO cartItemDTO) {
        log.info("更新购物车");
        cartItemService.update(cartItemDTO);
        return Result.success();
    }
    @Delete("/delete/clear")
    @Operation(summary="清空购物车")
    public Result clear(@RequestBody CartItemDTO cartItemDTO) {
        log.info("清空购物车");
        cartItemService.clear(cartItemDTO);
        return Result.success();
    }
}
